package com.april.pattern.structural.composite;

/**
 * @author April
 * @version V1.0.0
 * @date 2019/07/04 16:37
 * @description 抽象的构建角色
 */
public abstract class AbstractFileCombination {
    /**
     * 增加文件
     *
     * @param addFile 文件
     */
    void add(AbstractFileCombination addFile) {
        throw new UnsupportedOperationException("不支持添加操作");
    }

    /**
     * 移除文件
     *
     * @param removeFile 文件
     */
    void remove(AbstractFileCombination removeFile) {
        throw new UnsupportedOperationException("不支持删除操作");
    }

    /**
     * 得到文件
     *
     * @param index index
     * @return 文件
     */
    AbstractFileCombination getFile(int index) {
        throw new UnsupportedOperationException("不支持获取文件操作");
    }

    /**
     * 杀毒
     */
    void killVirus() {
        throw new UnsupportedOperationException("不支持杀毒操作");
    }
}

